Skip to content

Align CPS health coverage anchors with at-interview rule inputs#630

Merged
MaxGhenis merged 7 commits intomainfrom
codex/cps-current-health-coverage
Apr 9, 2026
Merged

Align CPS health coverage anchors with at-interview rule inputs#630
MaxGhenis merged 7 commits intomainfrom
codex/cps-current-health-coverage

Conversation

@daphnehanse11
Copy link
Copy Markdown
Collaborator

@daphnehanse11 daphnehanse11 commented Mar 20, 2026

Closes #629

Summary

  • import CPS NOW_* current-coverage flags as reported health coverage fields and emit the corresponding has_*_health_coverage_at_interview rule inputs needed by policyengine-us
  • keep compatibility aliases for existing Marketplace and ESI inputs while adding current-coverage detail used for ACA and Medicaid reconciliation
  • anchor ACA takeup to tax-unit-level reports of reported_has_subsidized_marketplace_health_coverage_at_interview, while anchoring Medicaid takeup to has_medicaid_health_coverage_at_interview, in CPS construction, local-area publishing, and unified calibration
  • add regression coverage that keeps unsubsidized Marketplace coverage separate from the ACA takeup anchor

Testing

  • uv run pytest tests/unit/test_stochastic_variables.py tests/unit/calibration/test_unified_calibration.py tests/integration/test_cps.py::test_add_personal_variables_maps_current_health_coverage_flags -q
  • uv run make format

@baogorek baogorek self-requested a review March 20, 2026 19:40
@daphnehanse11 daphnehanse11 requested a review from MaxGhenis March 23, 2026 14:23
@daphnehanse11 daphnehanse11 changed the title Add CPS current health coverage anchors Align CPS health coverage anchors with at-interview rule inputs Apr 2, 2026
@daphnehanse11 daphnehanse11 force-pushed the codex/cps-current-health-coverage branch 2 times, most recently from df427b9 to 7c2b4ba Compare April 7, 2026 18:03
@daphnehanse11 daphnehanse11 requested a review from juaristi22 April 8, 2026 16:58
Copy link
Copy Markdown
Collaborator

@juaristi22 juaristi22 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One blocker before this is safe to merge:

  1. publish_local_area.py needs the same per-period guard already used in UnifiedMatrixBuilder; otherwise valid multi-period datasets can raise KeyError when the reported anchor variable exists overall but not for the requested period.

What looks good: separating subsidized Marketplace reports from unsubsidized coverage for the ACA anchor looks directionally right, and sharing the reported-anchor logic across CPS construction, local-area publishing, and unified calibration is a sensible shape for the change. The new unit/integration coverage around the coverage-flag mappings and reported-anchor behavior is also useful. I did not spot any other blockers beyond the comment below. I do have one non-blocking verification note on census_cps.py.

@MaxGhenis MaxGhenis force-pushed the codex/cps-current-health-coverage branch from d5d41c1 to 9bceba8 Compare April 9, 2026 11:32
@MaxGhenis MaxGhenis merged commit 3f1dc88 into main Apr 9, 2026
9 checks passed
@MaxGhenis MaxGhenis deleted the codex/cps-current-health-coverage branch April 9, 2026 16:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Import CPS current health coverage flags as reported variables

3 participants